]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Setting StWidget::label-actor on some ui elements
authorAlejandro Piñeiro <apinheiro@igalia.com>
Tue, 8 Mar 2011 18:33:57 +0000 (19:33 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Wed, 27 Apr 2011 00:09:11 +0000 (02:09 +0200)
Specifically:
  * Icons on Alt+Tab menu
  * Icons on Ctrl+Alt+Tab menu
  * Icons on the list of applications

js/ui/altTab.js
js/ui/appDisplay.js
js/ui/ctrlAltTab.js
js/ui/iconGrid.js
js/ui/searchDisplay.js

index 736674e92fa2a543d42445eb1f78c13951157041..47ab84dc7b0250c0a90e0764d846905d4e58ae3d 100644 (file)
@@ -587,7 +587,7 @@ SwitcherList.prototype = {
         this._rightArrow.opacity = this._rightGradient.opacity;
     },
 
-    addItem : function(item) {
+    addItem : function(item, label) {
         let bbox = new St.Button({ style_class: 'item-box',
                                    reactive: true });
 
@@ -598,6 +598,8 @@ SwitcherList.prototype = {
         bbox.connect('clicked', Lang.bind(this, function() { this._onItemClicked(n); }));
         bbox.connect('enter-event', Lang.bind(this, function() { this._onItemEnter(n); }));
 
+        bbox.label_actor = label;
+
         this._items.push(bbox);
     },
 
@@ -983,7 +985,7 @@ AppSwitcher.prototype = {
 
     _addIcon : function(appIcon) {
         this.icons.push(appIcon);
-        this.addItem(appIcon.actor);
+        this.addItem(appIcon.actor, appIcon.label);
 
         let n = this._arrows.length;
         let arrow = new St.DrawingArea({ style_class: 'switcher-arrow' });
@@ -1053,9 +1055,12 @@ ThumbnailList.prototype = {
                 this._labels.push(bin);
                 bin.add_actor(name);
                 box.add_actor(bin);
+
+                this.addItem(box, name);
+            } else {
+                this.addItem(box, null);
             }
 
-            this.addItem(box);
         }
     },
 
index cd502ef71ffc312d4c422db9254a927fdf9b80e6..1dabc2cd58bcbdee1344407956787200444fe53e 100644 (file)
@@ -434,6 +434,8 @@ AppWellIcon.prototype = {
         this.icon = new AppIcon(app, iconParams);
         this.actor.set_child(this.icon.actor);
 
+        this.actor.label_actor = this.icon.label;
+
         this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
         this.actor.connect('clicked', Lang.bind(this, this._onClicked));
         this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
index 65b0a804671023ca3e505a4a70d19e0359eced9c..cf76dfbaff574b0417d78ad3cf432baa5a1981a7 100644 (file)
@@ -323,6 +323,6 @@ CtrlAltTabSwitcher.prototype = {
         let text = new St.Label({ text: item.name });
         box.add(text, { x_fill: false });
 
-        this.addItem(box);
+        this.addItem(box, text);
     }
 };
index c6deb1904a34c9c923e5056d5215c8ca8231e57d..c2c362079ce71d76e942993f1dfac33e68092139 100644 (file)
@@ -42,10 +42,10 @@ BaseIcon.prototype = {
         box.add_actor(this._iconBin);
 
         if (params.showLabel) {
-            this._name = new St.Label({ text: label });
-            box.add_actor(this._name);
+            this.label = new St.Label({ text: label });
+            box.add_actor(this.label);
         } else {
-            this._name = null;
+            this.label = null;
         }
 
         if (params.createIcon)
@@ -67,8 +67,8 @@ BaseIcon.prototype = {
 
         let childBox = new Clutter.ActorBox();
 
-        if (this._name) {
-            let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(-1);
+        if (this.label) {
+            let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(-1);
             preferredHeight += this._spacing + labelNatHeight;
 
             let labelHeight = availHeight >= preferredHeight ? labelNatHeight
@@ -79,7 +79,7 @@ BaseIcon.prototype = {
             childBox.x2 = availWidth;
             childBox.y1 = iconSize + this._spacing;
             childBox.y2 = childBox.y1 + labelHeight;
-            this._name.allocate(childBox, flags);
+            this.label.allocate(childBox, flags);
         }
 
         childBox.x1 = Math.floor((availWidth - iconNatWidth) / 2);
@@ -98,8 +98,8 @@ BaseIcon.prototype = {
         alloc.min_size = iconMinHeight;
         alloc.natural_size = iconNatHeight;
 
-        if (this._name) {
-            let [labelMinHeight, labelNatHeight] = this._name.get_preferred_height(forWidth);
+        if (this.label) {
+            let [labelMinHeight, labelNatHeight] = this.label.get_preferred_height(forWidth);
             alloc.min_size += this._spacing + labelMinHeight;
             alloc.natural_size += this._spacing + labelNatHeight;
         }
index 7b0a3d114186894f715ffcb6bb660bfa1eb302e3..6de542d0b1d6f8058d041d1ef4707c9ec097178d 100644 (file)
@@ -39,6 +39,7 @@ SearchResult.prototype = {
             let icon = new IconGrid.BaseIcon(this.metaInfo['name'],
                                              { createIcon: this.metaInfo['createIcon'] });
             content.set_child(icon.actor);
+            this.actor.label_actor = icon.label;
         }
         this._content = content;
         this.actor.set_child(content);
@@ -259,6 +260,7 @@ SearchResults.prototype = {
         let title = new St.Label({ text: provider.name,
                                    style_class: 'dash-search-button-label' });
 
+        button.label_actor = title;
         bin.set_child(title);
         button.set_child(bin);
         provider.actor = button;